/**
 * @file      ac_tlm_router.cpp
 * @author    Bruno de Carvalho Albertini
 * 
 * @author    The ArchC Team
 *            http://www.archc.org/
 *
 *            Computer Systems Laboratory (LSC)
 *            IC-UNICAMP
 *            http://www.lsc.ic.unicamp.br/
 *
 * @author    Diego Machado de Assis
 *            Newton Batista da Costa Junior
 *	      Matheus Pereira Santos
 *            Andre Frossard 
 * @version   0.1
 * @date      Sat Mai  2 15:54:11 BRT 2009
 * 
 * @brief     Implements a ac_tlm router that works like a simplyfied
 *            bus structure.
 * 
 * @attention Copyright (C) 2002-2009 --- The ArchC Team
 * 
 *   This library is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU Lesser General Public
 *   License as published by the Free Software Foundation; either
 *   version 2.1 of the License, or (at your option) any later version.
 * 
 *   This library is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *   Lesser General Public License for more details.
 * 
 * 
 */

//////////////////////////////////////////////////////////////////////////////
// Standard includes
// SystemC includes
// ArchC includes

#include "ac_tlm_router.h"

//////////////////////////////////////////////////////////////////////////////

/// Namespace to isolate memory from ArchC
using user::ac_tlm_router;

/// Constructor
ac_tlm_router::ac_tlm_router( sc_module_name module_name ) :
  sc_module( module_name ),
  mem_port("mem_port", 5242880U),
  counter_port("counter_port", 32U),
  card_port("card_port", 16777216U),
  teclado_port("teclado_port", 100),
  video_port("video_port", 1000),
  target_export("iport"),
  target2_export("iport2")
{
  /// Binds target_export to the router
  target_export( *this );
  target2_export( *this );

}

/// Destructor
ac_tlm_router::~ac_tlm_router() {
}
